Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 <<   zurück
Visual Basic 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual Basic 2005

Visual Basic 2005
1.233 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-585-1
gp Kapitel 25 Entwickeln von Steuerelementen
  gp 25.1 Einführung
    gp 25.1.1 Entwicklungsszenarien
    gp 25.1.2 Testen eines Steuerelements
  gp 25.2 Steuerelemente mit »UserControl«
    gp 25.2.1 Beispielprogramm eines Benutzersteuerelements
    gp 25.2.2 Die Eigenschaften des Benutzersteuerelements
    gp 25.2.3 Attribute zur Beeinflussung eines Benutzersteuerelements
    gp 25.2.4 Ereignisse des Benutzersteuerelements
    gp 25.2.5 Bereitstellen einer Toolbox-Bitmap
    gp 25.2.6 Zusammenfassung des Codes für »EllipseLabel«
  gp 25.3 Ableiten eines vorhandenen Steuerelements
  gp 25.4 Ein eigenes Steuerelement entwerfen


Galileo Computing

25.3 Ableiten eines vorhandenen Steuerelements  toptop

Ein aus einem oder mehreren Steuerelementen zusammengesetztes neues Steuerelement wird durch Ableitung der Klasse UserControl gebildet. Manchmal möchte man aber nur ein vorhandenes Steuerelement um weitere Funktionalitäten ergänzen oder vorhandene Funktionalitäten für bestimmte Anwendungsfälle spezifizieren. Dann wird, ganz nach den Regeln der Objektorientierung, die Klasse des zu erweiternden Steuerelements abgeleitet. Die geerbten Eigenschaften, Methoden und Ereignisse können Sie so überschreiben, dass das neue Control Ihren Erwartungen entspricht.

An einem kleinen Beispiel möchte ich Ihnen diese Technik zeigen. Dazu wird die Klasse TextBox abgeleitet, um ein neues Steuerelement bereitzustellen, das nur Zahleneingaben entgegennimmt. Das neue Steuerelement soll NumericTextbox heißen. Soll das Steuerelement mehreren Anwendungen zur Verfügung gestellt und weiterverteilt werden, muss es als DLL-Datei kompiliert werden. Sie können folgerichtig entweder ein Projekt vom Typ Klassenbibliothek oder vom Typ Windows-Steuerelementbibliothek öffnen. Das Letztere ist empfehlenswerter, weil sofort alle notwendigen Namespaces bekannt sind. Allerdings muss die Angabe der abgeleiteten Basisklasse von UserControl in den gewünschten Typ geändert werden – in unserem Beispiel also TextBox. (Sie finden das Beispiel auf der Buch-CD im Ordner Kapitel 25\NumericTextBoxSolution.)


Public Class NumericTestbox
Inherits TextBox

Da das neue Steuerelement nur Zahleneingaben akzeptieren soll, muss die geerbte Methode OnKeyPress überschrieben werden, weil der Parameter vom Typ KeyPressEventArgs in seiner Eigenschaft KeyChar das Zeichen der gedrückten Taste liefert.

Die Zahlen 0 bis 9 entsprechen den ASCII-Werten 47 bis 57. Lassen wir nur diese Werte zu, wäre es dem Anwender nicht möglich, mit der (æ)-Taste ein Zeichen zu löschen. Der Wert 8 beschreibt diese Taste und muss in jedem Fall ebenfalls zugelassen werden, während alle anderen Tasten unterdrückt werden.


Imports System.Windows.Forms
Imports System.drawing
<ToolboxBitmap("..\..\NumericTextbox.bmp")> _
Public Class NumericTextBox
Inherits TextBox
Protected Overrides Sub OnKeyPress(ByVal e As KeyPressEventArgs)
' registrierte Ereignishandler aufrufen
MyBase.OnKeyPress(e)
Dim input As Integer = Convert.ToInt32(e.KeyChar)
If ((input >= 47 And input <= 57) Or (input = 8)) Then
Return
End If
e.Handled = True
End Sub
End Class

Natürlich dürfen wir nicht vergessen, die gleichnamige Methode in der Basisklasse aufzurufen. Vergessen wir diese Anweisung, wird dem Anwender des Steuerelements NumericTextbox zwar das Ereignis KeyPress angeboten, aber die installierten Ereignishandler nicht ausgeführt.

Es steht Ihnen natürlich frei, mit Attributen das Verhalten des neuen Steuerelements zur Entwicklungs- und Laufzeit zu beeinflussen. Wie das geht, habe ich Ihnen in Abschnitt 25.2 gezeigt. Unsere abgeleitete Textbox hat, um ihr auch eine ansprechende und leicht zu identifizierende Präsentation in der Toolbox zu geben, eine individuelle Toolbox-Bitmap, die mit einem Attribut vor dem Klassenbezeichner bekannt gegeben wird.

Nach dem Kompilieren liegt eine DLL-Datei vor. Sie können NumericTextbox benutzen, nachdem Sie es der Toolbox über ihr Kontextmenü hinzugefügt haben. Gehen Sie dazu auf die Schaltfläche Durchsuchen und wählen die DLL-Datei.

 <<   zurück
  
  Zum Katalog
Zum Katalog: Visual Basic 2005
Visual Basic 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual C# 2005






 Visual C# 2005


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Das Programmierhandbuch SQL Server 2005






 Das Programmier-
 handbuch
 SQL Server 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de